package com.tiancheng.trade.order.model;


import com.baomidou.mybatisplus.annotation.TableName;
import com.tiancheng.trade.order.model.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 信用订单表
 *
 * @Desc
 * @Time 2024-09-16 16:14
 * likailun
 */
@Data
@TableName(value = "credit_order")
public class CreditOrder extends BaseEntity implements java.io.Serializable {

    /**
     * 主订单号
     */
    private String orderId;
    /**
     * 用户id
     */
    private String uid;
    /**
     * 支付宝授权订单id
     */
    private String alipayAuthNo;
    /**
     * 平台业务订单id
     */
    private String platformOrderId;
    /**
     * 预授权订单状态
     */
    private String orderState;
    /**
     * 预授权总金额
     */
    private Integer totalAmount;
    /**
     * 订单累计冻结金额
     */
    private Integer totalFreezeAmount;
    /**
     * 订单累计冻结信用金额
     */
    private Integer totalFreezeCreditAmount;
    /**
     * 订单累计冻结资金金额
     */
    private Integer totalFreezeFundAmount;
    /**
     * 订单累计用于支付金额
     */
    private Integer totalPayAmount;
    /**
     * 订单累计剩余金额
     */
    private Integer restAmount;
    /**
     * 资金预授权状态
     */
    private String authStatus;
    /**
     * 商品名称
     */
    private String productName;
    /**
     * 履约状态 0违约1履约
     */
    private Integer contractState;
    /**
     * 收款方支付宝账号
     */
    private String alipayPayeeLogonId;
    /**
     * 收款方支付宝唯一用户id
     */
    private String alipayPayeeUserId;
    /**
     * 付款方支付宝账号
     */
    private String alipayPayerLogonId;
    /**
     * 付款方支付宝用户id
     */
    private String alipayPayerUserId;
    /**
     * 信用授权类型 CREDIT全信用 MIXED信用+ 资金 FUND全资金
     */
    private String creditAuthType;
    /**
     * 资金预授权成功时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime preAuthTime;
    /**
     * 数据是否失效,1-是
     */
    private Integer disabled;
    /**
     * 描述
     */
    private String description;
    /**
     * 业务附加字段
     */
    private String extendFields;
    /**
     * 商户id
     */
    private String merchantId;
    /**
     * 订单中心 芝麻商户授权资金订单号，自己生成
     */
    private String gwOrderId;
    /**
     * 商户授权资金订单号到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gwOrderIdExpiryTime;
    /**
     * 信用类型：zhima-芝麻信用，wx-微信信用
     */
    private String creditType;

}